package org.sampleSpringFramework.mvc.common;

import lombok.Getter;

import java.util.HashMap;
import java.util.Map;

public class ModelAndView {

	// 页面所在的路径
	@Getter
	private String ViewPath;

	// 页面的数据
	@Getter
	private Map<String,Object> model = new HashMap<>();

	/**
	 * 设置页面所在的路径
	 * @param viewPath 页面所在路径
	 * @return 页面 ModelAndView
	 */
	public ModelAndView setViewPath(String viewPath){
		this.ViewPath = viewPath;
		return this;
	}

	/**
	 * 设置页面属性值
	 * @param attributeName 属性名
	 * @param attributeValue 属性值
	 * @return 页面 ModelAndView
	 */
	public ModelAndView addModel(String attributeName,Object attributeValue){
		this.model.put(attributeName,attributeValue);//调用之前需要先初始化model，否则会抛出空指针异常
		return this;
	}

	/**
	 * set方法按照以上设计的原因，可以采用链式编程，如下
	 * setView("/jsp/hello.jsp").addModel("key1","value1")
	 */

}
